Android之动态更换桌面图标
文章链接:http://blog.csdn.net/qq_16628781/article/details/69054325
知识点
- 动态更换APP 桌面icon的引述;
- activity组件及定义“同盟”组件activity-alias;
- PackageManager类进行启用/禁用组件;
- PackageInfo的简介;
- 新名词记录{PackageInfo:Androidmanifest.xml文件描述类}
概述
APP,在中国电商行业中,某宝和某东是行业的标杆。其中有一点挺让人好奇的,那就是在双十一临近之时,他们的APP桌面图标突然变成了带有双十一字样的图标。但是明明记得那段时间并没有更新过,那么唯一的可能就是本来就内置了双十一的图标,等快到双十一的时候在动态更换,然后过了双十一那段时间,又将APP的桌面图标变成普通的icon。
既然图标本来就在APP里头(或者是网络下载下来的,只是猜测,有知道的小伙伴可以给我留言),那么就很好奇了,它们的图标到底是怎么样进行动态的更换的呢?
探索1
对于Android来说,所有的activity都是一个组件,我们可以对每个组件进行管理。
关于程序的入口,我们知道android.intent.action.MAIN进行的指定的。
<activity
android:name=".HomeActivity"
android:label="@string/app_name"
android:theme="@style/AppThemeToolbar">
<intent-filter>
//指定应用程序最先启动的Activity
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
对于android.intent.category.LAUNCHER,这个又是设置什么的呢?这个是决定应用程序是否显示在程序列表里头。
另外,还有一个activity-alias属性,这个属性可以用于创建多个不同的入口。用法如下所示: